package com.modules.system.service;




import java.util.List;
import java.util.Set;

import com.common.base.BaseService;
import com.modules.system.entity.SysUserEntity;


/**
 * 系统用户
 * 
 */
public interface SysUserService extends BaseService<SysUserEntity>{

	/**
	 * 查询用户的所有权限
	 * @param userId  用户ID
	 */
	List<String> getAllPerms(Long userId);
	
	/**
	 * 查询用户的所有菜单ID
	 */
	List<Long> getAllMenuId(Long userId);

//	/**
//	 * 根据用户名，查询系统用户
//	 */
//	SysUserEntity getByUserName(String username);
	
	/**
	 * 根据用户ID，查询用户
	 * @param userId
	 * @return
	 */
	SysUserEntity getObject(Long userId);
	
	/**
	 * 查询用户列表
	 */
	List<SysUserEntity> getList(String username);
	
	/**
	 * 保存用户
	 */
	void save(SysUserEntity user);
	
	/**
	 * 修改用户
	 */
	void update(SysUserEntity user);
	
	/**
	 * 删除用户
	 */
	void deleteBatch(Long[] userIds);
	
	/**
	 * 修改密码
	 * @param userId       用户ID
	 * @param password     原密码
	 * @param newPassword  新密码
	 */
//	int updatePassword(Long userId, String password, String newPassword);

	/**
	 * 获取当前用户拥有的权限
	 * @param userId
	 * @return
	 */
	Set<String> getUserPermissions(Long userId);
}
